package com.ssi.core.framework.model;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import com.ssi.core.util.IdCreater;

/**
 * 
 * 具有自己的主键的实体类需继承的基类�??
 * 
 * @author 冰封
 *
 */
public class IdEntity {
	
	private String id = "";		/** 主键 **/

	/**
	 * 主键的生成由本接口来控制（并且延迟到获取的时候生成）�?<br/>
	 * ibatis或nosql插入数据的时候会调用getId()�?<br/>
	 * 由于数据库有两种，所以�?�择在应用层生成主键�?
	 * @return
	 */
	public String getId() {
		if("".equals(id)){
			id = IdCreater.newId();
		}
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}
	
	@Override
	public String toString() {
		return  ReflectionToStringBuilder.toString(this);
	}
	
}
